<?php
	
	/*
	** Разделение потока API
	*/

	$MODULES = array();	
	$MODULES['messenger'] = array(
									'class' => 'messenger', // название класса реализующего модуль 
									'file' =>  'modules\messenger.php'// путь ддо файла, который содержит класс
								);


	$module = isset($_REQUEST['__module']) ? strtolower($_REQUEST['__module']) : '';
	$action = isset($_REQUEST['__action']) ? strtolower($_REQUEST['__action']) : '';

	if (isset($MODULES[$module])) {	
		$className = $MODULES[$module]['class'];
		if (!class_exists($className, false)) {	
			include_once($MODULES[$module]['file']);
		} 
		if (class_exists($className, false)) {
			$Inst = new $className();
			$result = $Inst->Service($action);
			
			// Каждый action метод, должен возвращать массив с результатом, в котором будет храниться дата, и статус запроса (удачный/неудачный) и тип передаваемых данных
			if($result['data']) {
				if ($result['type'] == 'array') {
					print json_encode(array('result' => 'ok', 'data' => $result['data']));
					return true;
				} elseif($result['type'] == 'json') {
					print $result['data'];
					return true;
				}
			} else {
				return false;
			}
		}
	}

?>